1. Field of the Invention
The present invention generally relates to automation systems and, more particularly, to managing distributed computing in an automation system.
2. Description of the Related Art
Industrial automation systems and, in particular, distributed automation systems, have special devices known as programmable logic controllers. In practise, such programmable logic controllers are digital computers used for interfacing with a set of sensors and actuators employed for control of machinery in diverse industrial plants. Unlike general-purpose computers, the programmable logic controllers are designed for multiple inputs and output arrangements, and to also withstand harsh environmental conditions prevalent in industrial plants, such as high temperatures, electrical noise, or vibration and impact. However, the most important constraint on a programmable logic controller is that it should be a hard real-time system because the output results must be produced in response to the input conditions within a limited time, otherwise undesirable operations might be performed.
Owing to the above hard real time constraint, general parallel computing concepts such as multithreading and cloud computing have been proposed to reduce processing time in programmable logic controllers.
International Electrotechnical Commission (IEC) Standard 61131-3 currently defines five programming languages for programmable control systems: Function block diagram (FBD), Ladder diagram (LD), Structured Text (ST), Instruction List (IL), and Sequential Function Chart (SFC). All these programming language emphasize logical organization of operations. As a result, individual operations are grouped together. During runtime, such individual groups are formed as individual threads that may be executed in parallel. However, in the state of the art, such individual groups represent the smallest logical unit that is allowed be independently executed.